#include <iostream>
#include <string>
#include <vector>

using namespace std;

int main()
{
    vector<int> v{1, 2, 3, 4, 5, 6};
    // 由编译器决定 b 和 e 的类型
    // b 表示 v 的第一个元素，e 表示 v 尾元素的下一位置
    auto b = v.begin(), e = v.end(); // b 和 e 的类型相同

    string s("some string");
    // if (s.begin() != s.end()) { // 确保 s 非空
    //     auto it = s.begin(); // it 表示 s 的第一个字符
    //     *it = toupper(*it); // 将当前字符改写成大写形式
    // }
    // 依次处理 s 的字符直至我们处理完全部字符或者遇到空白
    for (auto it = s.begin(); it != s.end() && !isspace(*it); ++it)
        *it = toupper(*it); // 将当前字符改成大写形式

    cout << s << endl;
}